Evaluating Coarray Fortran with the CGPOP Miniapp
نویسندگان
چکیده
The Parallel Ocean Program (POP) is a 71,000 line-of-code program written in Fortran and MPI. POP is a component of the Community Earth System Model (CESM), which is a heavily used global climate model. Now that Coarrays are part of the Fortran standard one question raised by POP’s developers is whether Coarrays could be used to improve POP’s performance or reduce its code volume. Although Coarray Fortran (CAF) has been evaluated with smaller benchmarks and with an older version of POP, it has not been evaluated with newer versions of POP or on modern platforms. In this paper, we examine what impacts using CAF has on a large climate simulation application by comparing and evaluating variants of the CGPOP miniapp, which serves as a performance proxy of POP.
منابع مشابه
Technical Report The CGPOP Miniapp , Version 1 . 0
Miniapps provide performance proxies for larger applications thus enabling easier evaluation of performance tuning and refactoring techniques. The CGPOP miniapp is the conjugate gradient solver from Los Alamos National Laboratory’s Parallel Ocean Program (POP) version 2.0. This paper describes the conjugate gradient algorithm encapsulated in CGPOP, presents the organization of the CGPOP 1.0 rel...
متن کاملHybrid Coarrays: a PGAS Feature for Many-Core Architectures
Accelerators such as NVIDIA GPUs and Intel MICs are currently provided as co-processor devices, usable only through a CPU host. For Intel MICs it is planned that this constraint will be lifted in the near future: CPU and accelerator(s) will then form a single, many-core, processor capable of peak performance of several Teraflops with high energy efficiency. In order to exploit the available com...
متن کاملEvaluating the Separation of Algorithm and Implementation within Existing Programming Models
Implementation details and performance tuning obfuscate the algorithms in programs. In the SAIMI project (Separating Algorithm and Implementation via Programming Model Injection), we are investigating ways to use simpler, more restricted programming models to orthogonally express important subcomputations and express implementation details as transformations on the subcomputations. In this init...
متن کاملCo-array Python: A Parallel Extension to the Python Language
A parallel extension to the Python language is introduced that is modeled after the Co-Array Fortran extensions to Fortran 95. A new Python module, CoArray, has been developed to provide co-array syntax that allows a Python programmer to address co-array data on a remote processor. An example of Jacobi iteration using the CoArray module is shown and corresponding performance results are presented.
متن کاملCompiler and Runtime Approach for Supporting Efficient Execution of Coarray Fortran Programs
Fortran remains a very widely used programming language for technical computing. Fortran coarrays are new elements in the Fortran standard which aim to support the development of parallel programs without requiring the use of external constructs such as libraries (e.g. MPI) or directives (e.g. OpenMP). Coarrays provide a Partitioned Global Address Space (PGAS) approach to parallel programming i...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011